const express = require('express')
const fs = require('fs')
const path = require('path')

const app = express()


/**
 * 如果通过 http:127.0.0.1:8848/list 进行接口调用
 * 
 * 会执行对应的逻辑代码
 * 
 * 返回响应数据
 * 
 * 即👇
 * 
 * 请求路径：   http:127.0.0.1:8848/list
 * 请求类型：   get
 * 请求参数：   /
 * 响应数据：   [{...}]
 * 
*/
app.get('/list', function (request, response) {
  // console.log(request);
  // 如果访问 'http://localhost:8848/list'
  let list = ['西瓜', '梨子', '樱桃', '苹果']
  response.send(list)
})


app.get('/joke', function (request, response) {
  let fullPath = path.join(__dirname, './供读取的文本.json')
  fs.readFile(fullPath, 'utf-8', function (err, data) {
    response.send(JSON.parse(data))
    console.log(JSON.parse(data)[0]);
  })
})

// 带参数的传递👇  通过express自带的   request.query  获取
/**
 * 指定内容的数量
 * 
 * http://localhost:8848/joke?num=2
 * request.query ={id:0}  express会自动解析传递的参数
 * 
 * 响应数据：
 * {
 *  num: 2
 *  msg: 'success'
 *  jokes: [{},{}]
 * }
 */
app.get('/jokes', function (request, response) {
  console.log(request.query);

  let fullPath = path.join(__dirname, './供读取的文本.json')
  fs.readFile(fullPath, 'utf-8', function (err, data) {
    data = JSON.parse(data)
    let jokes = data.splice(0, parseInt(request.query.num))

    response.send({
      num: parseInt(request.query.num),
      msg: 'success',
      jokes
    })
  })
})

app.listen(8848, function (error) {
  if (!error) {
    console.log('服务器已开启，通过http://localhost:8848/ 访问');
    return
  }


})
// console.log(app);
